package co.edu.udea.quejas.DAO;

import java.util.List;
import co.edu.udea.quejas.DTO.Persona;
import co.edu.udea.quejas.exception.IWDaoException;


public interface PersonaDAO {
	
	/**
	 * Crea una nueva persona en el sistema
	 * @param persona
	 * @return Persona insertada
	 * @throws IWDaoException
	 */
	public Persona insertar(Persona persona) throws IWDaoException;
	
	/**
	 * Modifica la informacion de una persona en el sistema
	 * @param persona
	 * @return Persona Modificada
	 * @throws IWDaoException
	 */
	public Persona modificar(Persona persona) throws IWDaoException;
	
	/**
	 * Elimina Logicamente un cliente en el sistema
	 * @param persona
	 * @throws IWDaoException
	 */
	public void eliminar(Persona persona) throws IWDaoException;
	public void eliminarDef(Persona persona) throws IWDaoException;
	
	/**
	 * Retorna la lista de las personas en el sistema
	 * @return
	 * @throws IWDaoException
	 */
	public List<Persona> obtener() throws IWDaoException;
	
	/**
	 * Retorna una persona a partir de su cedula
	 * @param cedula
	 * @return
	 * @throws IWDaoException
	 */
	public Persona obtener(String cedula) throws IWDaoException;
}
